package com.ruoyi.sycs.service;

import com.ruoyi.sycs.domain.BsFanganInfo;
import com.ruoyi.sycs.domain.bo.UseFanganQueryBo;
import com.ruoyi.sycs.domain.vo.BaFanganDetailVo;
import com.ruoyi.sycs.domain.vo.BaFanganYuesheVo;
import com.ruoyi.sycs.domain.vo.BsFanganInfoVo;
import com.ruoyi.sycs.domain.bo.BsFanganInfoBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 小数点方案管理Service接口
 *
 * @author zyb
 * @date 2024-10-17
 */
public interface IBsFanganInfoService {

    /**
     * 查询小数点方案管理
     */
    BsFanganInfoVo queryById(Long fanganId);

    /**
     * 查询小数点方案管理列表
     */
    TableDataInfo<BsFanganInfoVo> queryPageList(BsFanganInfoBo bo, PageQuery pageQuery);

    /**
     * 查询小数点方案管理列表
     */
    List<BsFanganInfoVo> queryList(BsFanganInfoBo bo);

    /**
     * 新增小数点方案管理
     */
    Boolean insertByBo(BsFanganInfoBo bo);

    /**
     * 修改小数点方案管理
     */
    Boolean updateByBo(BsFanganInfoBo bo);

    /**
     * 校验并批量删除小数点方案管理信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 设为试验室默认方案
     */
    Boolean setDefault(Long fanganId);


    /**
     *  新增方案时，获取方案详细的预设字段信息（新增方案前调用）
     */
    List<BaFanganYuesheVo> getYusheInfo(BsFanganInfoBo bo);

    /**
     * 查询当前使用的方案
     */
    BsFanganInfoVo getFactUseFangan(UseFanganQueryBo bo);
}
